در کنار ابزارهای سنتی مانند apt و dnf، دو روش مدرن و محبوب برای نصب برنامه در لینوکس وجود دارد:
Snap و AppImage. این روشها مشکلات نصب سنتی مانند وابستگیهای پیچیده را حل میکنند
و برنامهها را به صورت مستقل از سیستمعامل اجرا میکنند.
در روش سنتی، هر برنامه به کتابخانههای خاصی نیاز دارد. اگر نسخه کتابخانهها با سیستم شما هماهنگ نباشد، برنامه نصب نمیشود. Snap و AppImage این مشکل را با بستهبندی همه وابستگیها در یک فایل حل کردهاند.
Snap یک سیستم بستهبندی و توزیع نرمافزار است که توسط شرکت Canonical (سازنده اوبونتو) ساخته شده است. برنامههای Snap در یک محفظه (Sandbox) اجرا میشوند و از سیستم جدا هستند.
توضیح: ابتدا لیست بستهها بهروز میشود، سپس snapd (سرویس Snap) نصب میشود. [citation:3][citation:7]
پس از نصب snapd، بهتر است سیستم را ریستارت کنید یا از سیستم خارج و دوباره وارد شوید تا مسیرهای Snap بهدرستی تنظیم شوند. [citation:3]
| دستور | توضیح |
|---|---|
snap find [keyword] |
جستجوی برنامه در فروشگاه Snap |
sudo snap install [package] |
نصب یک برنامه Snap |
sudo snap remove [package] |
حذف یک برنامه Snap |
sudo snap refresh |
بهروزرسانی همه برنامههای Snap |
snap list |
نمایش لیست برنامههای نصبشده |
snap info [package] |
نمایش اطلاعات یک برنامه |
sudo snap refresh --time |
مشاهده زمان بهروزرسانی خودکار |
توضیح: جستجوی برنامه vlc در فروشگاه Snap و سپس نصب آن.
AppImage یک روش نصب است که برنامه را به صورت یک فایل اجرایی واحد ارائه میدهد. این فایل شامل همه وابستگیهای برنامه است و بدون نیاز به نصب اجرا میشود.
توضیح:
chmod +x فایل را قابل اجرا میکند، سپس با ./ آن را اجرا میکنیم.
اگر خطای مربوط به FUSE دریافت کردید، باید بسته libfuse2 را نصب کنید: [citation:2]
برای اینکه AppImage در منوی برنامهها ظاهر شود، میتوانید از ابزارهایی مانند appimage-install استفاده کنید. [citation:4]
توضیح: این اسکریپت فایل AppImage را در پوشه ~/AppImages قرار میدهد، آیکون آن را استخراج میکند و یک فایل .desktop برای منوی برنامهها ایجاد میکند. [citation:4]
snap install| ویژگی | Snap | AppImage |
|---|---|---|
| نحوه نصب | با مدیر بسته snap |
فقط دانلود و اجرا (بدون نصب) |
| بهروزرسانی | خودکار در پسزمینه [citation:6] | دستی (دانلود نسخه جدید) [citation:6] |
| ایمنی | محیط ایزوله (Sandbox) با AppArmor [citation:6] | بدون محیط ایزوله [citation:6] |
| حجم فایل | بزرگ (شامل运行时 Snap) | بزرگ (همه وابستگیها داخل فایل) |
| سرعت اجرا | کندتر (احتیاج به استخراج) [citation:2] | سریع (مشابه برنامههای بومی) [citation:2] |
| یکپارچهسازی | خودکار در منوی برنامهها | نیاز به ابزار اضافی برای یکپارچهسازی |
| قابلیت برگشت | ✅ بله (بازگشت به نسخه قبلی) | ❌ خیر |
| مناسب برای | برنامههای دائمی، سرورها، کاربران معمولی | برنامههای قابل حمل، آزمایشی، کاربران پیشرفته |
apt بهتر است. [citation:2]
هر دو روش روی کالی لینوکس (که بر پایه دبیان است) به خوبی کار میکنند.
برای نصب Snap، کافی است snapd را نصب کنید. برای AppImage، معمولاً نیازی به نصب نیست و فقط کافی است فایل را دانلود و اجرا کنید.